package learning.spring.binarytea;

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
@EnableWebSecurity
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {

    /**
     * 个性化的身份认证配置
     */
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .antMatchers("/").permitAll()// 设置放行URL,使用ANT匹配所请求都放行 -- 奶茶店的根目录"/"都可以访问
                .mvcMatchers("/actuator/*").permitAll()// 设置放行URL,使用mvc匹配所请求都放行
                .anyRequest().authenticated().and()
                .formLogin()// 使用表单登录
                .defaultSuccessUrl("/order")// 登录成功后跳转的页面
                .failureUrl("/login")// 登录失败后跳转的页面
                .loginProcessingUrl("/doLogin")// 提交用户名和密码到此处指定的URL进行身份认证
                .usernameParameter("user")// 修改用户名参数名(默认username)
                .passwordParameter("pwd").and()
                .httpBasic();// 使用HTTP Basic认证
    }

}
